#include "../comm.h"
class Solution {
public:
    int countBattleships(vector<vector<char>>& board) {
        // 由于战舰一定是1 * n 或者 n * 1的矩形，思考这种形状有什么性质
        // 可以发现对于一艘战舰，除了起点之外，任何要么左边会有x，要么上面会有x
        int ans = 0;
        int n = board.size(), m = board[0].size();
        for(int i = 0; i < n; ++i)
            for(int j = 0; j < m; ++j)
            {
                if(board[i][j] == 'X')
                {
                    if(i > 0 && board[i - 1][j] == 'X') continue;
                    if(j > 0 && board[i][j - 1] == 'X') continue;
                    ++ans;
                }
            }
        return ans;
    }
};